import sys
import os


def multiply():
    # 检查是否有足够的命令行参数
    if len(sys.argv) != 3:
        print("请以空格分隔的方式输入两个数字作为命令行参数，例如：python multiply_numbers.py 2.5 3.7")
        sys.exit(1)

    # 从命令行参数中获取两个数
    file_path = sys.argv[1]
    num2 = float(sys.argv[2])

    # 获取脚本所在目录
    script_dir = os.path.dirname(os.path.abspath(__file__))

    # 从文件中读取第一个数
    try:
        with open(file_path, "r") as file:
            num1 = float(file.read().strip())
    except FileNotFoundError:
        print(f"文件 {file_path} 未找到。")
        sys.exit(1)
    except ValueError:
        print(f"文件 {file_path} 中的内容无法转换为数字。")
        sys.exit(1)

    # 从input文件夹下的num3.txt文件中读取第三个数
    input_folder = os.path.join(script_dir, "input")
    num3_file_path = os.path.join(input_folder, "num3.txt")
    try:
        with open(num3_file_path, "r") as file:
            num3 = float(file.read().strip())
    except FileNotFoundError:
        print(f"文件 {num3_file_path} 未找到。")
        sys.exit(1)
    except ValueError:
        print(f"文件 {num3_file_path} 中的内容无法转换为数字。")
        sys.exit(1)

    # 计算乘积
    product = num1 * num2 * num3

    print("三数之积为： ", product)

    # 创建output文件夹（如果不存在）
    output_folder = os.path.join(script_dir, "output")
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)

    # 将结果写入到txt文件
    output_file_path = os.path.join(output_folder, "output.txt")
    with open(output_file_path, "w") as output_file:
        output_file.write("两数之积为： " + str(product))

    # 输出结果
    print("两数之积已写入到output.txt文件中。")


if __name__ == "__main__":
    multiply()